package com.code.exam.service;

import com.code.exam.common.result.PageResult;
import com.code.exam.dto.TiIdsDTO;
import com.code.exam.dto.ExamCreateDTO;
import com.code.exam.dto.ExamPageQueryDTO;
import com.code.exam.entity.Exam;
import com.code.exam.vo.AddTiIdsVO;
import com.code.exam.vo.EPageResultVO;
import com.code.exam.vo.ExamAllquestionsVO;

import java.util.List;

public interface ExamService {


    /**
     * 考试创建
     * @param examCreateDTO
     * @return
     */
    Exam examcreate(ExamCreateDTO examCreateDTO);



    /**
     *考试状态更新
     * @param examId
     * @param status
     * @return
     */
    Exam updateStatus(Long examId, String status);

    /**
     * 查询考试列表
     * @param examPageQueryDTO
     * @return
     */
    PageResult<EPageResultVO> pageQuery(ExamPageQueryDTO examPageQueryDTO);



    /**
     * 获取考试状态
     * @param examId
     * @return
     */
    String getStatus(Long examId);


    /**
     * 为考试增添题目(组卷)
     * @param examId
     * @param addTiIdsDTO
     * @return
     */
    AddTiIdsVO addQuestions(Long examId, TiIdsDTO addTiIdsDTO);


    /**
     * 从考试移除题目
     * @param examId
     * @param tiIdsDTO
     * @return
     */
    int removeTi(Long examId, TiIdsDTO tiIdsDTO);

    /**
     * 获取考试下所有题目
     * @param examId
     * @return
     */
    ExamAllquestionsVO getAllQuestions(Long examId);
}
